﻿//-----------------------------------------------------------------------
// <copyright file="Envelope.cs" company="WorldView Solutions Inc">
//     Copyright (c) WorldView Solutions Inc. This source is subject to the Microsoft Public License (Ms-PL). All other rights reserved.
// </copyright>
//-----------------------------------------------------------------------

using System;
using System.Xml;
using System.Xml.Serialization;

namespace WorldViewSolutions.Geometry
{
    /// <summary>
    /// 
    /// </summary>
    /// <remarks></remarks>
	[Serializable]
	[XmlRoot("envelope")]
	public class Envelope : Geometry
	{
        /// <summary>
        /// Gets or sets the X min.
        /// </summary>
        /// <value>The X min.</value>
        /// <remarks></remarks>
        [XmlAttribute("xMin")]
        public double XMin { get; set; }

        /// <summary>
        /// Gets or sets the Y min.
        /// </summary>
        /// <value>The Y min.</value>
        /// <remarks></remarks>
		[XmlAttribute("yMin")]
		public double YMin { get; set; }

        /// <summary>
        /// Gets or sets the X max.
        /// </summary>
        /// <value>The X max.</value>
        /// <remarks></remarks>
        [XmlAttribute("xMax")]
        public double XMax { get; set; }

        /// <summary>
        /// Gets or sets the Y max.
        /// </summary>
        /// <value>The Y max.</value>
        /// <remarks></remarks>
        [XmlAttribute("yMax")]
        public double YMax { get; set; }

        /// <summary>
        /// Initializes a new instance of the <see cref="T:System.Object"/> class.
        /// </summary>
        /// <remarks></remarks>
		public Envelope()
		{
		}

        /// <summary>
        /// Initializes a new instance of the <see cref="Envelope"/> class.
        /// </summary>
        /// <param name="xMin">The x min.</param>
        /// <param name="yMin">The y min.</param>
        /// <param name="xMax">The x max.</param>
        /// <param name="yMax">The y max.</param>
        /// <remarks></remarks>
        public Envelope(double xMin, double yMin, double xMax, double yMax)
		{
            this.XMin = xMin;
            this.YMin = yMin;
            this.XMax = xMax;
            this.YMax = yMax;
		}
	}
}